Slide-deck content rewrite, arcade time economy, chess punishment, Critter Cottage & more#35
Draft
700799 wants to merge 15 commits into
Draft
Slide-deck content rewrite, arcade time economy, chess punishment, Critter Cottage & more#35700799 wants to merge 15 commits into
700799 wants to merge 15 commits into
Conversation
Capsule-style goggled characters (inspired by the goggled-buddy look, but NOT Minions): an upright pill body with a bolt antenna and a riveted goggle strap holding metal lenses — distinct silhouette and non-yellow shells keep them clearly original. - gizmoTeal, gizmoCoral, gizmoViolet, gizmoLime (two-eyed) and gizmoCyan (one-eyed cyclops), each expression-aware (happy/cheer/surprised/dizzy/ko). - Registered in MascotKind + MASCOT_KINDS + PARTS, and added to the Math Runner and Lucky Crawl hero pickers so they're pullable. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YJgCstFD5JgXpXb7CbsG5V
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
- Add 3 original "Racer" mascots inspired by kart-racer art (a cap with a short brim + goggles pushed up on the forehead) — no logos or real-character likeness. racerRed, racerGreen, racerViolet. - Extend the Gizmo goggle-buddy family: gizmoSun (three-eyed), gizmoRose (spring antenna), gizmoSlate — the factory now supports 1/2/3 lenses and a springy antenna. - Register all in MascotKind + MASCOT_KINDS + PARTS and add them to the Math Runner and Lucky Crawl hero pickers so they're pullable. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YJgCstFD5JgXpXb7CbsG5V
A Mario-style thick-bordered carpentry builder that relates to the 6.G Geometry unit (answers recorded under '6.G'): - 7 levels assemble a 2-story cottage: floor (L×W), walls (L×W + 90°), trim & siding (SUBTRACT wall−window + 180°), roof (½·b·h triangle + 45°/15°), chimney + round window (rect + circle π·r², π≈3), yard/fence/mailbox (circle + 270°), then a Big Bad Wolf sturdiness test — survive and cute raccoons move in, with a house-warming bonus word problem for coins. - Doors + square window + round window included; the house SVG builds up piece-by-piece with bold outlines. - Tap answer chips, then SWIPE back-and-forth to saw each board (new sfx.saw/sfx.cut + buzzy haptics). - Drawers for reference & worksheets: a "📐 Guide" drawer (area formulas with worked examples + angle guide + scratchpad), plus per-question "📝 How to solve" (ProblemAid) and the header Help. - Registered (tile, route, mascot 'raccoon', how-to). New sfx.saw/sfx.cut in arcadeAV. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YJgCstFD5JgXpXb7CbsG5V
…spector report - New Level 8 "Set the Trap" phase (6.G): square area (side × side) as a new sub-skill, plus a Goldilocks sizing question (wolf's paw ≈ 36 sq units) with "too small — won't catch him" / "too big — he'll see it" feedback. - Dramatic multi-scene WolfTrapCutscene: wide → zoom-in on the trap → SNAP (screen shake + boom) → zoom-out, advancing on a Continue button press. - Building Inspector graded report: A+/A/B/C/D by first-try accuracy, stat tiles (rooms built / first-try / re-cuts), and a 6-skill checklist; Collect opens the word-problem house-warming bonus quiz. - House gains a circular trap pad and a caged wolf; Guide adds a Square row. - howto.ts updated to 8 levels + the trap/capture. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YJgCstFD5JgXpXb7CbsG5V
Checkmate Lab is now a set of sharp "only-move" positions you play by CHOOSING your move. Find the one right move (often a mate of your own) and you win; pick a wrong move and the computer plays on and CHECKMATES YOU, move-by-move on the board, then you can try again. - 5 new positions (back-rank, Arabian, smothered, long-diagonal, mate-in-1 race), each with move-choice buttons: one key move + tempting blunders. - Every key line and every blunder's punishment mate is machine-verified with chess.js offline (engine-free at runtime). - Wrong move plays the forced mate with ominous fx to a "Checkmate — the computer beat you!" card + Try again. - Cancelable timers fix the old setTimeout leak during playback. - howto.ts chess copy updated for the choose-move + punishment flow. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YJgCstFD5JgXpXb7CbsG5V
…he answer reveal
- Explanation no longer hides the worked steps behind a countdown — the "how & why"
is readable at any time (removed the ThinkTimeCover gate).
- The configurable think-time (arcadeConfig.answerRevealSeconds) now guards only the
ANSWER reveal: the Hint's final "Reveal the answer" tier counts down first
("Think first… answer in Ns") so kids attempt before peeking. Nudge/guide hint
tiers and all explanations are instant.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YJgCstFD5JgXpXb7CbsG5V
…game
Removes all wall-clock mid-game pauses so games no longer freeze/reset mid-action.
- Gate (ArcadeWarmup): deleted the Brain-Break (every challengeInterval) and Math-
Break (every storyInterval) timers, state, refs, render, and the paused flags;
only the entry sequence (splash/directions/countdown) can pause now.
- Per-game timed interruptions relocated to milestones or removed:
· Mochi Survivors: dropped the 60s story break (keeps its in-game math mechanic).
· Pocket Town: dropped the 180s story break (keeps the tax-collector math).
· Platformer: the 30s refuel timer → refuel when you RUN OUT of ammo (solve to
reload); keeps the reach-the-flag level-complete gate.
· Turbo Dash (Mode7Racer): the 30s pit-stop timer → pit stop at each CHECKPOINT.
- Math is preserved between games (lesson gate), at big in-game milestones, and on
every game's end card (ArcadeEndCard already always shows a MilestoneQuiz).
- Settings: removed the now-dead mid-game challenge/story-interval controls; kept
the store fields (migration tests) and the answer-reveal think-time control.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YJgCstFD5JgXpXb7CbsG5V
- New parent-configurable play-time economy (defaults, adjustable in Settings): gameMaxSeconds (180 = 3 min, 0 = off), extendMinutes (3), extendCoinCost (10). - Store: adds the three ArcadeConfig fields (read via ?? default, no version bump) and a spendCoins(n) action. - Gate (ArcadeWarmup): counts active play seconds; at the cap the game freezes and a "Time's up!" overlay offers spend-coins or do-a-lesson to add time, then the SAME game resumes. Admin/unlimited bypass. The cap replaces the legacy earnRatio budget (earnRatio only applies when the cap is off). - Settings: new "Play time" group; relabeled the answer-reveal think-time control. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YJgCstFD5JgXpXb7CbsG5V
- Mobile shows a 3-across grid (4 on larger screens) so many more games fit. - Each tile is one big game-matching icon + bold name, no subtitle — chunky Mario-style look (thick black border, drop-shadowed icon, pressable shadow). - Played check badge and locked (price) overlay kept; dropped the per-tile mascot. - Fixed the Sumo Math icon to match the game. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YJgCstFD5JgXpXb7CbsG5V
Phase 1 (code) of the big content rewrite: - New LessonSlide format (objective/concept/example/protip/trap/summary) with per-domain slide banks under src/data/lessonSlides/, merged onto LESSONS. 5.F decks fully authored (6 lessons × 12-13 slides) as the exemplar. - LessonCard rewritten: intro → ONE video (the idea animation; extra videos stay in the Video Library only) → story-style slides with kind badges → interactive practice → wrap-up. Min-read gate is now per-kind (8s examples, 5s concepts, 3s short slides), scaled by the existing lessonScreenSeconds admin setting; decks still advance only on button press. - StorySlide: clamp beat→video-segment mapping so stories with more beats than rendered chapters freeze on the final frame (prep for expanded stories). - New MathematicianDeckPlayer (full-screen story-style deck with a giant emoji-scene illustration pane) + deck registry; Mathematicians cards now open "📖 Their story" decks and keep the animated-story links. Content (all 51 remaining lesson decks, expanded stories, 8 mathematician decks) lands in the follow-up commits. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YJgCstFD5JgXpXb7CbsG5V
… tests; rename dress game - lessonSlides/ns.ts + ee.ts: 20 lessons × 13–15 story-style slides each (objective → concepts → worked examples → pro tip → traps → summary). - mathematicianDecks.ts: full 12–16-slide decks for all 8 mathematicians with emoji-scene visuals and unit tie-ins. - tests/slide-decks.test.ts: guards — every lesson 12–20 slides w/ full arc, stories ≥7 beats with meaty bodies, 8 decks of 12–20 slides. (6.RP/6.G/6.SP decks + story expansion land in the next commit.) - Rename "Dress to Impress" → "Cool vs Warm Dress Up" everywhere (registry, route title, headers, instructions). Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YJgCstFD5JgXpXb7CbsG5V
Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YJgCstFD5JgXpXb7CbsG5V
Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YJgCstFD5JgXpXb7CbsG5V
Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YJgCstFD5JgXpXb7CbsG5V
Every existing beat body gains 8–15 words of concept explanation (why the math works, tie to the unit). Every story gains 3–5 new closing beats: a worked example with real numbers, a pro tip, a trap naming the classic mistake, and a real-world tie-in. Player already clamps extra beats to the video's last frame. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YJgCstFD5JgXpXb7CbsG5V
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A large content + gameplay round. Highlights, newest first:
📚 Lessons → story-style slide decks (all 57 lessons)
Every lesson now plays like a math story: intro → one Manim video → 12–15 authored slides⚠️ traps ·
(🎯 objective · 💡 concepts · ✏️ simplest-to-fuller worked examples · ⭐ pro tips ·
🏁 summary, ~3 sentences each) → interactive practice → wrap-up. Slides advance on button press
only, with per-kind minimum-read gates (8s examples / 5s concepts / 3s short), scaled by the
existing parent setting. Content lives in per-domain files (
src/data/lessonSlides/), merged intoLESSONSat load; all legacy fields kept so existing tests/pickers still work.🌟 Stories & 🧑🔬 Mathematicians
worked-example / pro-tip / trap / real-world beats. Player clamps extra beats to the video's last frame.
why it matters → unit tie-in) with huge emoji-scene illustrations, in a new full-screen player.
⏱️ Play-time economy
3-minute per-game cap (parent-adjustable: off/2/3/5/10m). At time-up the game freezes: spend coins
(earned from lessons) or do a lesson to extend (+3m default, costs/minutes parent-set). Replaces the
old earnRatio budget when active.
🎮 Arcade
games, at big in-game milestones (checkpoints, ammo-empty reloads, flags), and on every end card.
and checkmate you move-by-move (all lines machine-verified with chess.js offline).
cutscene and a graded Inspector report.
Verification
tscclean ·vite buildok · 1,332 tests green (incl. new guards: every lesson 12–20 slideswith the full teaching arc; stories ≥7 beats with ≥20-word bodies; 8 decks of 12–20 slides).
Playwright smokes: lesson deck (one video, kind badges, 3/5/8s gates, interactive practice), story
expansion, mathematician decks, time-up extend flow, chess punishment line, Critter Cottage Level 8.
🤖 Generated with Claude Code
https://claude.ai/code/session_01YJgCstFD5JgXpXb7CbsG5V